/*~-*/
/*~XSF_LANGUAGE: C/C++*/
/*~I*/
#ifndef GENERAL_H
/*~T*/
#define GENERAL_H

/*~A*/
/*~+:File Header*/
/*~T*/
/****************************************************************************
 * 
 ****************************************************************************/

/*~E*/
/*~A*/
/*~+:Import                                 */
/*~T*/
/* Import                                                                      */

/*~T*/

/*~E*/
/*~A*/
/*~+:Configuration                         */
/*~T*/
/* delay functions configuration
   these are foreground mode delay functions used usually only in the inith phase.
   used by the LCD module, may be unconfigured to save space if not needed
*/
#define DELAY_FUNCTIONS
/* #undef DELAY_FUNCTIONS */

/*~T*/
/* string functions configuration
   these are conversion functions from u16 to decimal or hex values string,
   may be unconfigured to save space if not needed
*/
/* #define STRING_FUNCTIONS */
#undef STRING_FUNCTIONS

/*~E*/
/*~A*/
/*~+:Public Type Definitions              */
/*~T*/
/* Public Type Definitions                                                     */

/*~A*/
/*~+:project type definitions*/
/*~T*/
typedef unsigned char  u8;
typedef signed char    s8;
typedef unsigned short u16;
typedef signed short   s16;
typedef unsigned long  u32;
typedef signed long    s32;

/*~E*/
/*~T*/

/*~E*/
/*~A*/
/*~+:Public Function Declarations*/
/*~T*/
/* Public Function Declarations                                                */

/*~I*/
#ifdef DELAY_FUNCTIONS
/*~T*/
extern void delay_ms(u8 nr);
extern void delay_us(u8 nr);

/*~-*/
#endif
/*~E*/
/*~I*/
#ifdef STRING_FUNCTIONS
/*~T*/
extern void u_to_str10(u16 nr, u8*str, u8 max_chr, u8 fill);
extern void u_to_str16(u16 nr, u8*str, u8 max_chr, u8 fill);

/*~-*/
#endif
/*~E*/
/*~T*/

/*~E*/
/*~-*/
#endif
/*~E*/
